﻿#pragma once

class CBaseWrapper
{
public:
    LPVOID head;          // x0 -> 0
    int32_t size;         // x1 -> 4
    int32_t len;          // x2 -> 8
    int32_t numValue;     // x3 -> 12
    int32_t tail;         // x4 -> 16
    int32_t needFreeHead; // x5 -> 20
    int32_t *num;         // x6 -> 24
public:
    CBaseWrapper();

    // sub_10025190
    int32_t getNum();

    // unknown_libname_16
    LPVOID getHead();

    // unknown_libname_11
    int32_t *getNumPointer();

    // // unknown_libname_17
    int32_t getLen();

    // 1001E000
    int32_t *clearHead();

    // sub_1001D320
    void *close(char flag);

    // sub_1001D640
    CBaseWrapper *close_();

    // sub_1001DEB0
    CBaseWrapper *freeHead();

    // sub_1001E2E0
    int32_t setTail(int32_t idx);
};
